package com.deyuanyun.pic.ctrl.excelImport;

import com.deyuanyun.pic.common.validator.annotations.CodeVail;
import com.deyuanyun.pic.common.validator.annotations.DataValidate;
import com.deyuanyun.pic.ctrl.annotation.*;
import com.deyuanyun.pic.ctrl.validatefun.PipeLineValidata;
import com.deyuanyun.pic.ctrl.validatefun.AutoPile;
import com.deyuanyun.pic.ctrl.annotation.DbTable;
import com.deyuanyun.pic.ctrl.util.AutoImportInterface;
import com.deyuanyun.pic.ctrl.validatefun.AutoDevice;
import com.deyuanyun.pic.ctrl.validatefun.EnumValidata;

import java.util.Date;

/**

说明:Z:\excel\涂层检测与评价\5管道穿越段测试记录表（导入、导出）.xlsx

**/
@DbTable(name="PIC_CTRL_EXINSP_PIPE_CORS_TEST",startRow=4,sumCell=18,excelName="管道穿越段测试记录表.xlsx")
public class PicCtrlExinspPipeCorsTestExcel implements AutoImportInterface
{

      /**
      * 管道名称
      */
      @Head( name="管道名称",row=2,cell=0)
      @DbFiled( name="PIPE_LINE_ID" ,type="CHAR")
      @DataValidate(notNull = true,myFunction = PipeLineValidata.class,myFunctionMessage="管道信息与项目要求管道不一致")
      private String pipeLineId;

      /**
      * 穿越段名称
      */
      @Head( name="穿越段名称",row=2,cell=1)
      @DbFiled( name="CROSSING_NAME" ,type="VARCHAR2")
      @DataValidate(notNull = true,lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String crossingName;

      /**
      * 上游测试桩编号
      */
      @Head( name="上游测试桩编号",row=2,cell=2)
      @DbFiled( name="UP_STATION_NUMBER" ,type="CHAR")
      @DataValidate(notNull = true,myFunction = AutoPile.class,myFunctionMessage="测试桩不存在")
      private String upStationNumber;

      /**
      * 下游测试桩编号
      */
      @Head( name="下游测试桩编号",row=2,cell=3)
      @DbFiled( name="DOWN_STATION_NUMBER" ,type="CHAR")
      @DataValidate(notNull = true,myFunction = AutoPile.class,myFunctionMessage="测试桩不存在")
      private String downStationNumber;

      /**
      * 位置描述
      */
      @Head( name="位置描述",row=2,cell=4)
      @DbFiled( name="LOCATION_DESCRIPTION" ,type="VARCHAR2")
      @DataValidate(notNull = true,lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String locationDescription;

      /**
      * 上游
      */
      @Head( name="上游",row=3,cell=5)
      @DbFiled( name="UP_STREAM_POTENTIAL" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String upstream;

      /**
      * 下游
      */
      @Head( name="下游",row=3,cell=6)
      @DbFiled( name="DOWN_STREAM_POTENTIAL" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String downstream;

      /**
      * 防腐层绝缘电阻（Ω·m2）
      */
      @Head( name="防腐层绝缘电阻（Ω·m2）",row=2,cell=7)
      @DbFiled( name="ANTI_CORR_LAYER_INSU_RESIS" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String antiCorrLayerInsuResis;

      /**
      * 防腐层评价
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.EvalAntiCorrLayerEnum.class,valMethod="getVal")
      @Head( name="防腐层评价",row=2,cell=8)
      @DbFiled( name="EVAL_OF_ANTI_CORR_LAYER" ,type="VARCHAR2")
      @DataValidate(myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String evalOfAntiCorrLayer;

      /**
      * 阴保有效性评价
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.CathodicProtectionEvaluationEnum.class,valMethod="getVal")
      @Head( name="阴保有效性评价",row=2,cell=9)
      @DbFiled( name="CATHODIC_PROTECTION_EVALUATION" ,type="VARCHAR2")
      @DataValidate(notNull = true,myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String cathodicProtectionEvaluation;

      /**
      * 异常记录
      */
      @Head( name="异常记录",row=2,cell=10)
      @DbFiled( name="FAULT_RECORD" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String faultRecord;

      /**
      * 处理措施
      */
      @Head( name="处理措施",row=2,cell=11)
//      @DbFiled( name="TREATMENTMEASURES" ,type="null")
//      @DataValidate()
      @MappingTable(clas=PicCtrlExinspFault.class,autoFiled="treatmentMeasures",fkey="exinspRecodeId")
      private String treatmentmeasures;

      /**
      * 检测日期
      */
      @Head( name="检测日期",row=2,cell=12)
      @DbFiled( name="TESTING_DATE" ,type="DATE")
      @DataValidate(type = Date.class,notNull = true)
      private String testingDate;

      /**
      * 检测单位
      */
      @Head( name="检测单位",row=2,cell=13)
      @DbFiled( name="TESTING_COMPANY" ,type="VARCHAR2")
      @DataValidate(notNull = true,lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String testingCompany;

      /**
      * 记录人
      */
      @Head( name="记录人",row=2,cell=14)
      @DbFiled( name="RECORDER" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      @AutoLoginUser
      private String recorder;

      /**
      * 记录时间
      */
      @Head( name="记录时间",row=2,cell=15)
      @DbFiled( name="RECORD_TIME" ,type="DATE")
      @DataValidate(type = Date.class)
      @AutoDate
      private String recordTime;

      /**
      * 备注
      */
      @Head( name="备注",row=2,cell=16)
      @DbFiled( name="REMARKS" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String remarks;

      /**
      * id
      */
      @DbFiled( name="ID_")
      @AutoId
      private String id;

    @AutoExinspTask
    @DbFiled( name="EXINSP_TASK_ID",type="VARCHAR2")
    private String exinspTaskId;

    @DbFiled( name="DATA_STATED",type="VARCHAR2")
    private String dataStated;


    @DbFiled( name="IS_NEWEST",type="NUMBER")
    private String isNewset;

    public String getIsNewset() {
        return isNewset;
    }

    public void setIsNewset(String isNewset) {
        this.isNewset = isNewset;
    }
    public String getDataStated() {
        return dataStated;
    }

    public void setDataStated(String dataStated) {
        this.dataStated = dataStated;
    }

    public String getExinspTaskId() {
        return exinspTaskId;
    }

    public void setExinspTaskId(String exinspTaskId) {
        this.exinspTaskId = exinspTaskId;
    }


    public String getPipeLineId()
    {

        return  this.pipeLineId;
    }
    public void setPipeLineId(String pipeLineId)
    {

      this.pipeLineId=pipeLineId;
    }


    public String getCrossingName()
    {

        return  this.crossingName;
    }
    public void setCrossingName(String crossingName)
    {

      this.crossingName=crossingName;
    }


    public String getUpStationNumber()
    {

        return  this.upStationNumber;
    }
    public void setUpStationNumber(String upStationNumber)
    {

      this.upStationNumber=upStationNumber;
    }


    public String getDownStationNumber()
    {

        return  this.downStationNumber;
    }
    public void setDownStationNumber(String downStationNumber)
    {

      this.downStationNumber=downStationNumber;
    }


    public String getLocationDescription()
    {

        return  this.locationDescription;
    }
    public void setLocationDescription(String locationDescription)
    {

      this.locationDescription=locationDescription;
    }


    public String getUpstream()
    {

        return  this.upstream;
    }
    public void setUpstream(String upstream)
    {

      this.upstream=upstream;
    }


    public String getDownstream()
    {

        return  this.downstream;
    }
    public void setDownstream(String downstream)
    {

      this.downstream=downstream;
    }


    public String getAntiCorrLayerInsuResis()
    {

        return  this.antiCorrLayerInsuResis;
    }
    public void setAntiCorrLayerInsuResis(String antiCorrLayerInsuResis)
    {

      this.antiCorrLayerInsuResis=antiCorrLayerInsuResis;
    }


    public String getEvalOfAntiCorrLayer()
    {

        return  this.evalOfAntiCorrLayer;
    }
    public void setEvalOfAntiCorrLayer(String evalOfAntiCorrLayer)
    {

      this.evalOfAntiCorrLayer=evalOfAntiCorrLayer;
    }


    public String getCathodicProtectionEvaluation()
    {

        return  this.cathodicProtectionEvaluation;
    }
    public void setCathodicProtectionEvaluation(String cathodicProtectionEvaluation)
    {

      this.cathodicProtectionEvaluation=cathodicProtectionEvaluation;
    }


    public String getFaultRecord()
    {

        return  this.faultRecord;
    }
    public void setFaultRecord(String faultRecord)
    {

      this.faultRecord=faultRecord;
    }


    public String getTreatmentmeasures()
    {

        return  this.treatmentmeasures;
    }
    public void setTreatmentmeasures(String treatmentmeasures)
    {

      this.treatmentmeasures=treatmentmeasures;
    }


    public String getTestingDate()
    {

        return  this.testingDate;
    }
    public void setTestingDate(String testingDate)
    {

      this.testingDate=testingDate;
    }


    public String getTestingCompany()
    {

        return  this.testingCompany;
    }
    public void setTestingCompany(String testingCompany)
    {

      this.testingCompany=testingCompany;
    }


    public String getRecorder()
    {

        return  this.recorder;
    }
    public void setRecorder(String recorder)
    {

      this.recorder=recorder;
    }


    public String getRecordTime()
    {

        return  this.recordTime;
    }
    public void setRecordTime(String recordTime)
    {

      this.recordTime=recordTime;
    }


    public String getRemarks()
    {

        return  this.remarks;
    }
    public void setRemarks(String remarks)
    {

      this.remarks=remarks;
    }


    public String getId()
    {

        return  this.id;
    }
    public void setId(String id)
    {

      this.id=id;
    }





}